www.gusucode.com > LTE基带收发仿真系统matlab源码程序 > LTE baseband simulation/write_result.m
function write_result(input,outfile,index) % 将结果保存成16进制'.dat'文件 % Author: 程式小组(徐萌 张妙 张晓庆) % Date: 2010-06-20 % ========================================================== if index == 0 % 输入二进制符号指示 fid = fopen(outfile,'w'); [row, col] = size(input); Len = floor(col/32); for r =1:row tempData = input(r,:); for k = 1:Len sum = 0; temp = tempData((k-1)*32+1:k*32); for i = 1:32 sum = sum+temp(i)*2^(32-i); end Reault = dec2hex(sum,8); fprintf(fid,'%s',Reault); fprintf(fid,'\n'); end lastN = mod(col,32); if lastN ~=0 sum = 0; lastData = tempData(end-lastN+1:end); for i = 1:lastN sum = sum+lastData(i)*2^(lastN-i); end Reault = dec2hex(sum,lastN/4); fprintf(fid,'%s',Reault); end if lastN~=0&&row~=0 fprintf(fid,'\n'); fprintf(fid,'\n'); end end fclose (fid); elseif index == 1 % 输入复数指示 %=======================一行存放一个调制符号=====================% in = fopen(outfile,'w'); % 将调制后的结果存放在outfile中 k = 1; len = length(input); while k<=len if imag(input(k))>0 fprintf(in,'%6.4f+%6.4fi\n',real(input(k)),imag(input(k))); else fprintf(in,'%6.4f%6.4fi\n',real(input(k)),imag(input(k))); end k = k+1; end fclose(in); end